#include"RingBuffer.hpp"
#include<iostream>
#include<unistd.h>
using namespace RingBufferModule;
void*Consumer(void*arg){
    
    RingBuffer<int>*rb=static_cast<RingBuffer<int>*>(arg);
while(true){
    sleep(1);
    int data;
rb->Pop(&data);
std::cout<<"消费了一个数据"<<data<<std::endl;;
}
}
void*Producter(void*arg){
    RingBuffer<int>*rb=static_cast<RingBuffer<int>*>(arg);
    int data=10;
while(true){
    //从外部获取数据
    
rb->Equeue(data);
std::cout<<"产生了一个数据"<<data<<std::endl;;
data++;
}
}
int main(){
    srand(time(nullptr));
    RingBuffer<int>*rb=new RingBuffer<int>(5);
    pthread_t tid1,tid2,tid3,tid4;
    pthread_create(&tid1,nullptr,Consumer,(void*)rb);
    pthread_create(&tid2,nullptr,Producter,(void*)rb);
    pthread_create(&tid3,nullptr,Consumer,(void*)bq);
    pthread_create(&tid4,nullptr,Producter,(void*)bq);
    // pthread_create(&tid3,nullptr,active,(void*)"thread-3");
    // pthread_create(&tid4,nullptr,active,(void*)"thread-4");

    pthread_join(tid1,nullptr);
    pthread_join(tid2,nullptr);
    //pthread_join(tid3,nullptr);
    //pthread_join(tid4,nullptr);
}